import {getMemberCombo} from '../../api/member.js';
import {orderMemberCombo, orderPay} from '../../api/order.js';
import Util from '../../utils/util.js';
import Status from "../../utils/status";

const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    combos: [],
    current: 0,

    isPhone: false,
    isShow: false,

    showRecharge: false,
    current_combo_id: "",
    is_show_combo_list: false,// 是否显示充值金额，默认不显示

    button_share: [],
    selectIndex: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.checkIsPhone();
    this.setData({
      bottom: app.globalData.footerPadding,
      privillageList: Status.privillageList(1)
    })

    const that = this
    let navs = that.data.navs
    wx.showLoading({
      title: '正在加载',
    })
    Util.chekWxLogin().then(res => {
      that.setData({
        userInfo: res.userInfo || null
      })
      wx.hideLoading();
      that.getMemberCombo()
    }).catch(errmsg => {
      wx.hideLoading();
    })

    this.onLoadTabbar();
  },
  showTip(e) {
    let content = e.currentTarget.dataset.msg || ''
    if (!content) {
      content = "本产品属于数字化商品，不支持7天无理由退款，请根据实际需求理性购买！<br><br>成为会员后在有效期内享有页面显示的特权，会员开通后有使用期限，到期后权益自动作废，请在有效期内使用。会员特权可能会不定期更新。<br><br>若因用户违反平台规定导致账号被封禁，影响其正常使用会员权益，该后果由用户承担，平台不予退还封禁期间权益对应的费用。<br><br>由于网络原因可能导致会员延时到账，请耐心等待，如果出现未到账情况，请联系微信bsbly88。";
    }
    this.setData({
      showTipDialog: true,
      dialogContent: {
        title: "会员购买须知",
        content: content,
        confirmText: "知道了",
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  },

  changeCombo(e) {
    this.setData({
      selectIndex: e.currentTarget.dataset.key
    })
  },

  getMemberCombo(e) {//获取支付套餐
    const that = this
    getMemberCombo().then(res => {
      that.setData(res.data)
      that.check_is_show_combo()
      that.onLoadTabbar();
    }).catch(errmsg => {
      return app.Tips({title: errmsg})
    })

  },

  /**
   * 是否显示充值金额
   */
  check_is_show_combo() {
    const that = this,
      isPhone = that.data.isPhone,// true苹果用户 false非苹果用户
      is_ios_recharge = that.data.is_ios_recharge,//小程序ios能否充值 1-不能充值 0-可以充值
      idcard_status = that.data.idcard_status // 1 完成实名认证

    //安卓手机 或 苹果已实名 显示充值
    if (!isPhone || (isPhone && is_ios_recharge == 0 && idcard_status == 1)) {
      this.setData({
        is_show_combo_list: true  // 显示充值金额
      })
    }

    /*
    代码已优化 Remove
    if (isPhone) {//苹果手机
      // is_ios_recharge 能否充值开关 1-不能充值 0-可以充值   idcard_status 完成实名认证
      if (is_ios_recharge == 0 && idcard_status == 1) {
        this.setData({
          is_show_combo_list: true  // 显示充值金额
        })
      }
    } else {//不是苹果手机，显示充值
      this.setData({
        is_show_combo_list: true  // 显示充值金额
      })
    }*/

  },

  createOrder(e) {
    const key = e.currentTarget.dataset.key,
      combos = this.data.combos,
      isPhone = this.data.isPhone,
      that = this
    const current_combo = this.data.combos[this.data.selectIndex]

    if (Util.isEmpty(current_combo)) {
      return app.Tips({title: "请选择会员套餐", hideMask: true})
    }

    if (isPhone && this.data.is_ios_recharge == 1) {
      app.Tips({title: '由于相关规范，IOS功能暂不可用'})
      setTimeout(function () {
        that.setData({isShow: true})
      }, 1000);
      return;
    }
    orderMemberCombo({id: current_combo.id}).then(result => {
      const out_trade_no = result.data.out_trade_no

      if (out_trade_no) {
        orderPay({order_id: out_trade_no})
          .then(res => {
            let data = res.data
            wx.requestPayment({
              'timeStamp': data.timeStamp,
              'nonceStr': data.nonceStr,
              'package': data.package,
              'signType': 'MD5',
              'paySign': data.paySign,
              success: function (res) {
                wx.setStorageSync('is_refresh', 1)
                return app.Tips({
                  title: "购买成功",
                  icon: "success"
                }, {tab: 3})
              },
              fail: function (res) {
                app.Tips({title: "取消成功", icon: "success", hideMask: true})
              }
            })

          }).catch(errmsg => {
          app.Tips({title: errmsg})
        })
      }
    })
    // }
    //},
    // })
  },

  get_recharge(e) {
    this.setData({
      showRecharge: true,
    })
  },

  closeQrcodeDialog() {
    this.setData({
      showRecharge: false,
    })
  },

  handleContact(e) {
    console.log(e)
  },

  checkIsPhone: function () {
    const that = this
    Util.isIphone().then(res => {
      that.setData({isPhone: res})
    });
  },

  close(e) {
    this.setData({isShow: false})
  },

  onLoadTabbar: function () {//底部tabbar返回数据
    const that = this;

    Util.checkIphone().then(res => {//检查是否是iphone x/11等
      that.setData({isIphoneX: res})
    });

    wx.createSelectorQuery().in(that).select('#weui-footer')
      .boundingClientRect(function (rect) {
        let bottom = app.globalData.bottom || 15
        if (rect) {
          bottom += parseInt(rect.height)
        }
        that.setData({
          bottom: bottom
        })
      }).exec()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage(e) {

  }
})